package com.wiscamp.ninechapters.problems.application.dto.vo.reports;

import com.wiscamp.ninechapters.ddd.ViewObject;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.ArrayList;
import java.util.Collection;

/**
 * 练习任务报告
 */
@Data
@EqualsAndHashCode
public class TaskReportVO implements ViewObject {
    /**
     * 练习任务编号
     */
    private long taskId = 0;

    /**
     * 习题集编号
     */
    private long setId = 0;

    private String setName = "";

    /**
     * 习题集分发记录编号
     */
    private long assignmentId = 0;

    /**
     * 习题集分发记录明细编号
     */
    private long assignmentDetailId = 0;

    /**
     * 用户编号
     */
    private long userId = 0;

    /**
     * 总耗时秒数
     */
    private long totalSpendSeconds = 0;

    /**
     * 正确率
     */
    private int accuracyRate = 0;

    /**
     * 总题目数
     */
    private int totalProblemQuantity = 0;

    /**
     * 正确题目数
     */
    private int correctProblemQuantity = 0;

    private int wrongProblemQuantity = 0;

    private int skipProblemQuantity = 0;

    /**
     * 总分数
     */
    private double totalGainScore = 0;

    private String award = "";

    /**
     * 练习任务报告明细
     */
    private Collection<ReportProblemVO> reportProblems = new ArrayList<>();
}
